The invention relates generally to data communication, and more particularly to a method and apparatus for improved internet group management protocol communication.
As data communication systems continue to evolve, the bandwidth capabilities of such communication systems continue to increase. As such, applications that require large amounts of bandwidth become increasingly feasible. One such application is the distribution of digital media services. Digital media services can provide video information such as television programs or movies, audio programs, and text based information streams.
Typically, the various types of digital media that may be provided are sourced from one or more information sources. These information sources are intended to provide the multimedia programming to a large number of users that have access to the information via one or more communication networks. Destination routers coupled to the communication network provide interfaces to end users, or subscribers.
Typically, multiple subscribers are coupled to a single communication link that is coupled to the router. This communication link is utilized for distribution of the program data streams, or channels, to the end users. The Internet Group Management Protocol (IGMP) has been developed by the Internet Engineering Task Force (IETF) as a standard that relates to the communication between the router and the subscriber, which is often referred to as a host. The communication between the router and the set of hosts coupled to a particular communication link is accomplished using point to multipoint multicast transmissions. IETF specifications rfc1112 xe2x80x9cHost Extensions for IP Multicastingxe2x80x9d and rfc2236 xe2x80x9cInternet Group Management Protocol, Version 2xe2x80x9d describe the use of the current IGMP standard in detail.
The IGMP protocol as currently defined by the IETF dictates how the multicast transmissions between the router and host are managed. Each of the hosts coupled to a router determines which of the potential multicast transmission groups, or channels, that it receives. When the communication link between the router and a plurality of hosts is shared by the plurality of hosts, bandwidth limitations on the communication link can require intelligent management of the multicast transmissions provided via the communication link. For example, if a number of users reside on a single communication link and the bandwidth limitations only allow for a limited number of multicast transmissions to be supported over the communication link, usage of the particular multicast transmissions by the plurality of hosts must be monitored to ensure that bandwidth is not wasted on multicast transmissions which none of the hosts are actively receiving or using.
The prior art IGMP standards deal with the inclusion or deletion of particular multicast transmissions, or groups, from the communication link in an inefficient manner that may reduce the overall functionality of the multicast system. In one prior art system corresponding to the original IGMP standard, a host could explicitly join a group (multicast transmission) but could not explicitly leave a group. Periodic queries issued by the router would inquire as to whether hosts coupled to the communication link were actively using particular groups. For example, if a periodic query asked if group A was being used by any hosts on the communication link resulted in no positive responses, group A could then be deleted in terms of being supported via the communication link. Unfortunately, the periodic queries often took a substantial amount of time in resolving whether or not a particular group required continued support. During this time, the bandwidth utilized to support the group that was to be deleted was essentially wasted. Such bandwidth considerations are especially important in bandwidth limited systems that broadcasting high data rate multicast groups.
The second version of IGMP allowed for hosts to send explicit messages indicating that a particular multicast group was no longer required. However, because multiple hosts on a particular communication link could be utilizing a particular group, group specific queries are utilized to determine if all of the hosts agree that the particular group could be omitted from support. Once again, the querying process can induce a significant delay between the time at which the message indicating that the group should be terminated was received and actual termination of support of that particular group. In high bandwidth applications, such as digital media distribution services (DMDS) that broadcast multiple video, audio, and text channels to a large number of users, the delay associated with terminating particular groups can have adverse consequences in that bandwidth that should be available is not available for the addition of subsequent groups. As such, the delay in obtaining data corresponding to a new group could be noticeable, and undesirable to the end user.
Another prior art system based on the second version of the IGMP protocol stops the data flow for a particular group immediately upon receiving a leave group message corresponding to that particular group. If the queries as to whether any other hosts desire the data for that group result in a positive response; the data flow for that group is resurrected. Although this technique immediately makes bandwidth available for the addition of subsequent channels, the data flow to hosts that wish to maintain receipt of the group which is immediately terminated can be interrupted, which may result in glitches in service or other unacceptable consequences.
Therefore, a need exists for a method and apparatus for supporting multicast group transmissions that efficiently adds and removes particular multicast groups from support while making efficient use of available bandwidth available on the communication link for transmission of the multicast groups.